﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Janus.BaseEntitys
{
    public class GlobalTypeEnum
    {
        /// <summary>
        /// 订单类别
        /// </summary>
        public enum OrderType
        {
            [ShowName("销售订单", "")]
            SO = 10,
            [ShowName("采购订单", "")]
            PO = 20,
            [ShowName("指令单", "")]
            SerO = 30,
            [ShowName("Call单", "")]
            CGPO = 40,
            [ShowName("转厂出口", "")]
            CGSO = 50
        }

        /// <summary>
        /// 服务产品类别
        /// </summary>
        public enum ServProductType
        {
            [ShowName("订舱委托", "")]
            InterTransportation = 10,
            [ShowName("国内运输", "")]
            InlandTransportation = 20,
            [ShowName("报关", "")]
            Customs = 30,
            [ShowName("报检", "")]
            Inspection = 40,
            [ShowName("货代", "")]
            Booking = 50,
            [ShowName("", "")]
            Other = 0
        }

        /// <summary>
        /// 进出口类型
        /// </summary>
        public enum IEFlag
        {
            [ShowName("进口", "")]
            Import = 1,
            [ShowName("出口", "")]
            Export = 2
        }

        /// <summary>
        /// 运费支付方式
        /// </summary>
        public enum PayMode
        {
            [ShowName("预付", "")]
            Prepay = 1,
            [ShowName("到付", "")]
            Payment = 2
        }

        /// <summary>
        /// 是否集装箱
        /// </summary>
        public enum IsContainer
        {
            [ShowName("吨车", "")]
            Cargo = 0,
            [ShowName("集装箱", "")]
            Container = 1
        }

        /// <summary>
        /// 业务类型
        /// </summary>
        public enum OperType
        {
            [ShowName("直接进出口", "业务类型")]
            DirectIMEX = 1,
            [ShowName("转厂进出口", "业务类型")]
            TransitIMEX = 2,
            [ShowName("国内采购销售", "业务类型")]
            DomesticMarket = 3,
            [ShowName("一般贸易", "业务类型")]
            GeneralTrade = 4,
            [ShowName("无业务", "业务类型")]
            ///AscII 为 z
            NOTraffic = 122
        }

        /// <summary>
        /// 制作托运单的错误提示内容
        /// </summary>
        public enum ConsignErrorCode
        {
            [ShowName("保存成功", "托运单制作")]
            Success = 0,
            [ShowName("保存失败", "托运单制作")]
            Fail = 1,
            [ShowName("请确认提单信息是否有效", "托运单制作")]
            NoPickingNo = 2,
            [ShowName("请确认发货单数据是否有效且已审核", "托运单制作")]
            NoDeliveryData = 3,
            [ShowName("请确认发票装箱单数据是否有效且已审核", "托运单制作")]
            NoPackingData = 4
        }

        public enum Rolers
        {
            [ShowName("国外客户", "1")]
            ForeignCustomer = 10,
            [ShowName("国外供应商", "1")]
            ForeignSuppliers = 20,
            [ShowName("转厂客户", "2")]
            FPTCustomer = 30,
            [ShowName("转厂供应商", "2")]
            FPTSuppliers = 40,
            [ShowName("国内运输", "20")]
            InTransportation = 50,
            [ShowName("国际运输", "10")]
            IntTransportation = 60,
            [ShowName("报关行", "30")]
            CustomsBroker = 70,
            [ShowName("报检", "")]
            Checker = 80,
            [ShowName("贷代", "30")]
            Forwarder = 90,
            [ShowName("管理员", "")]
            Admin = 999
        }

        /// <summary>
        /// 深加工结转申请表类型（0=转入，1=转出）
        /// </summary>
        public enum FptAppHeadType
        {
            [ShowName("转入", "深加工结转申请表")]
            Fout = 0,
            [ShowName("转出", "深加工结转申请表")]
            FIn = 1,
        }
    }
}
